import request from '@/config/axios'
import type { Dayjs } from 'dayjs';

/** 员工信息信息 */
export interface Employee {
          id: number; // 员工编号
          name?: string; // 员工姓名
          employeeNumber?: string; // 员工工号
          gender: number; // 性别
          birthday: string | Dayjs; // 出生日期
          idCard: string; // 身份证号
          phone: string; // 手机号码
          email: string; // 邮箱地址
          departmentId?: number; // 部门编号
          position?: string; // 职位
          jobLevel: string; // 职级
          hireDate?: string | Dayjs; // 入职日期
          emergencyContact: string; // 紧急联系人
          emergencyPhone: string; // 紧急联系人电话
          address: string; // 家庭住址
          education: string; // 学历
          graduationSchool: string; // 毕业院校
          major: string; // 专业
          description: string; // 备注描述
          status?: number; // 状态
  }

// 员工信息 API
export const EmployeeApi = {
  // 查询员工信息分页
  getEmployeePage: async (params: any) => {
    return await request.get({ url: `/system/employee/page`, params })
  },

  // 查询员工信息详情
  getEmployee: async (id: number) => {
    return await request.get({ url: `/system/employee/get?id=` + id })
  },

  // 新增员工信息
  createEmployee: async (data: Employee) => {
    return await request.post({ url: `/system/employee/create`, data })
  },

  // 修改员工信息
  updateEmployee: async (data: Employee) => {
    return await request.put({ url: `/system/employee/update`, data })
  },

  // 删除员工信息
  deleteEmployee: async (id: number) => {
    return await request.delete({ url: `/system/employee/delete?id=` + id })
  },

  /** 批量删除员工信息 */
  deleteEmployeeList: async (ids: number[]) => {
    return await request.delete({ url: `/system/employee/delete-list?ids=${ids.join(',')}` })
  },

  // 导出员工信息 Excel
  exportEmployee: async (params) => {
    return await request.download({ url: `/system/employee/export-excel`, params })
  },
}